
#include "core/threads.h"
#include "core/config.h"
#include "core/pool.h"
#include "core/logs.h"

/************************************************************************\
 * Thread                                                               *
\************************************************************************/

struct VEThread
{

};

VE_DEFINE_STATIC_POOL(VEThread,VE_MAX_THREAD_COUNT)

VEThread * ve_thread_create( VEThreadFunc func, void * data )
{
	/* TODO */
	return 0;
}

void ve_thread_delete( VEThread * thread )
{
	/* TODO */
}

/************************************************************************\
 * Mutex                                                               *
\************************************************************************/

struct VEMutex
{

};

VE_DEFINE_STATIC_POOL(VEMutex,VE_MAX_MUTEX_COUNT)

VEMutex * ve_mutex_create()
{
	/* TODO */
	return 0;
}

void ve_mutex_delete( VEMutex * mutex )
{
	/* TODO */
}

void ve_mutex_lock( VEMutex * mutex )
{
	/* TODO */
}

void ve_mutex_unlock( VEMutex * mutex )
{
	/* TODO */
}

/************************************************************************\
 * Thread event                                                         *
\************************************************************************/

struct VEThreadEvent
{

};

VE_DEFINE_STATIC_POOL(VEThreadEvent,VE_MAX_THREAD_EVENT_COUNT)

VEThreadEvent * ve_thread_event_create()
{
	/* TODO */
	return 0;
}

void ve_thread_event_delete( VEThreadEvent *event )
{
	/* TODO */
}

void ve_thread_event_signal( VEThreadEvent *event )
{
	/* TODO */
}

void ve_thread_event_wait( VEThreadEvent *event )
{
	/* TODO */
}
